<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="include :: header('海外尾程单')" />
	<th:block th:include="include :: list-css" />
	<style type="text/css">
		.layui-tab-title{border-color: #ccc !important;}
		.layui-this{color: rgb(0, 135, 250) !important;background: none !important;}
		.layui-tab-brief > .layui-tab-title .layui-this:after, .layui-tab-brief > .layui-tab-more li.layui-this:after{border-color:  rgb(0, 135, 250) !important;}
		label.layui-form-label {width: 95px;padding-right: 0px;}
		.layui-form-radio {margin-top:0}
		.mid-content{overflow-y:auto}
		.importTable{empty-cells:show;border-collapse:collapse;border-spacing:0;}
		.listext th{background:#eee;color:#3366cc;}
		.listext th,.listext td{border:solid 1px #ddd;text-align:left;padding:10px;font-size:14px;}
		#importProgress {z-index:20200202;background-color: #000;opacity: 0.3;display:none;}
		.importProgress {width:300px;z-index:20202222;position: fixed;top: 34%;left: 40%;display:none;}
	</style>

</head>
<body>
<div class="main-content">
	<div class="content-right">
		<div class="search-top">
			<span>查询条件</span>
			<a href="javascript:;" layadmin-event="flexible" class="menuBtn">
				<i class="layui-icon layui-icon-spread-left" id="LAY_app_flexible" style="color: #fff;"></i>
			</a>
		</div>
		<div class="panel layout-expand layui-expand-east">
			<div class="panel-header">
				<div class="panel-tool" style="text-align: center; width: 26px;height: 30px;line-height: 30px;">
					<a href="javascript:;" layadmin-event="flexible" class="menuBtn">
						<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible" style="color: #fff;"></i>
					</a>
				</div>
			</div>
			<div class="panel-body panel-title" style="text-align: center; width: 26px;">查<br>询<br>条<br>件</div>
		</div>
		<form class="layui-form">
			<th:block th:include="listinclude :: searchRight('page')" />
		</form>
	</div>
	<div class="mid-content">
		<div class="layui-tab layui-tab-brief istype" lay-filter="demo1" style="margin-top: 0;">
			<ul class="layui-tab-title" >
				<li class="layui-this">未完成</li>
				<li>已完成</li>
			</ul>
			<div class="layui-tab-content"></div>
		</div>
		<table class="layui-hide" id="dhtable" lay-filter="ftable"></table>
		<div class="spxx" style="display: none;">
			<div class="layui-tab layui-tab-brief demo2" lay-filter="demo2" style="position:relative;">
				<ul class="layui-tab-title">
					<li class="detailsName">海外尾程单</li>
				</ul>
				<div class="layui-tab-content"></div>
			</div>
			<table class="layui-hide" id="pdhtable" lay-filter="pftable"></table>
		</div>

	</div>
</div>
<!-- 表格头部工作栏-->
<script type="text/html" id="toolbar">
	<div class="layui-btn-container">
        <span class="ishide" style="display: none;">
	    	<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="tailbtn">
				<i></i> 尾程方式
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="channelbtn">
				<i></i> 渠道代码
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="delbtn">
				<i></i> 删除
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="drbtn">
				<i></i> 导入附加费
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="shbtn">
				<i></i> 审核
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="exportbtn">
				<i></i> 导出
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="printGoods">
				<i></i> 商品标打印
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="print">
				<i></i> 打印箱标
			</div>
        </span>
		<span class="isshow" style="display: none;">
	    	<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="htbtn">
				<i></i> 回退
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" onclick="importBtn()" lay-event="zcodebtn">
			<i class="dhicon dh-zu4250_2_2"></i> 批量导入追踪编号
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="ckbtn">
				<i></i>导入海外尾程出库单
			</div>
			<div class="layui-btn layui-table-tools importbtn-bg" lay-event="cancelTc">
				<i class="dhicon layui-icon-prev"></i> 上传头程追踪编号
			</div>
			<div class="layui-btn layui-btn-normal layui-table-tools" lay-event="exportbtn" >
				<i class="dhicon dh-zu4250_2_2"></i> 导出
			</div>
        </span>

	</div>
</script>

<script type="text/html" id="inChannel">
    <div class="layui-col-md12">
        <div class="layui-form-item" style="margin-top: 15px;">
            <div class="layui-inline layui-col-md4">
                <label class="layui-form-label"><span class="f_red">*</span>渠道代码：</label>
                <div class="layui-input-block">
                    <input type="text" class="layui-input buttontext"
                           name="channelcode" id="channelcode" autocomplete="off"
                           readonly lay-verify="required"/>
                    <i class="layui-icon layui-icon-more getMore"
                       onclick="getMore('channelcode',tindex ,'渠道代码','TS_channelCode','')"
                       getType="promoteUnit"></i>
                </div>
            </div>
        </div>
    </div>
</script>

<script type="text/html" id="isdrAddition">
	<div class="layui-col-md12">
		<div class="layui-form-item" style="margin-top: 15px;">
			<div class="layui-inline layui-col-md4">
				<label class="layui-form-label"><span class="f_red">*</span>附加费：</label>
				<div class="layui-input-block">
					<input type="text" class="layui-input buttontext drAddition"
						   name="drAddition" id="drAddition" autocomplete="off"
						   lay-verify="required" oninput="this.value=this.value.replace(/[^\d.]/g,'').replace(/(\.\d+)\.+/g, '$1').replace(/(\..*)\./g, '$1')" />
				</div>
			</div>
		</div>
	</div>
</script>

<script type="text/html" id="isStockOutCode">
	<div class="layui-col-md12">
		<div class="layui-form-item" style="margin-top: 15px;">
			<div class="layui-inline layui-col-md4">
				<label class="layui-form-label"><span class="f_red">*</span>尾程出库单:</label>
				<div class="layui-input-block">
					<input type="text" class="layui-input buttontext stockOutCode"
						   name="stockOutCode" id="stockOutCode" autocomplete="off"
						   lay-verify="required"  />
				</div>
			</div>
		</div>
	</div>
</script>

<script type="text/html" id="inExchange">
	<div class="layui-col-md12">
		<div class="layui-form-item" style="margin-top: 15px;">
			<div class="layui-inline layui-col-md4">
				<label class="layui-form-label"><span class="f_red">*</span>尾程方式：</label>
				<div class="layui-input-block">
					<input type="text" class="layui-input buttontext"
						   name="tailProgram" id="tailProgram" autocomplete="off"
						   readonly lay-verify="required"/>
					<i class="layui-icon layui-icon-more getMore"
					   onclick="getMore('tailProgram',null,'尾程方式','ys_hwdict',false, true);"
					   getType="promoteUnit"></i>
				</div>
			</div>
		</div>
	</div>
</script>

<!-- 导入明细 -->
<div id="iTable" class="display_no">
	<table class="importTable listext" data-resizable-columns-id="demo-table">
		<tbody id="itbody"></tbody>
	</table>
</div>


<th:block th:include="include :: footer" />
<th:block th:include="include :: businessJS" />
<th:block th:include="include :: searchJS" />
<script th:src="@{/dhecp/js/queryCondition.js}"></script>
<th:block th:include="listinclude :: list-templeat" />
<!-- 打印控件 -->
<script src="/js/printWorld/PrintWorld.js"></script>
<script th:inline="javascript">
	var gridColumns = [[${gridColumns}]],
		moduleTable = [[${moduleTable}]],
		storage = [[${storage}]],
		importFields =[[${importFields}]],
		ali1688EcpApiUrl = [[${ali1688EcpApiUrl}]]
	var prefix = "/storage/"+storage;
	var tindex = null;
	var stateName = "制单环节"
	var ysId = ""
	var channelId = ""
	var tableUrl = prefix + "/list?stateName="+ stateName
	openRowUrl = "/storage/"+(storage.split('/')[1]?storage.split('/')[0]:storage)+"/edit?nid=";
	exportUrl = prefix + "/export";
	var num = 0;
	var userId = [[${session.mandatorUser.userId}]];
</script>
<script type="text/javascript">
	var element;
	var fieldWidth = {},		//导入列表字段宽度
			filedRequired = {},		//导入列表必填字段
			dateFiled = [],			//导入列表日期字段
			hasNull = false;		//导入数据必填字段有空值
	$.each(gridColumns.dictionaryForPageFieldList,function(i,v){
		fieldWidth[v.fields] = v.fieldFrontWidth
		if(v.fieldFrontRequired)filedRequired[v.fields] = v.fieldName;
		if(v.fieldFrontType == 't_date')dateFiled.push(v.fields);
	})
	//发货标题
	var tablecolsFh=tablecolsFh();

	var $,layer,laydate,form,table,wherestr={};
	layui.use(['table','laydate','form','layer','jquery','element'], function () {
		$ = layui.$, layer = layui.layer, laydate = layui.laydate , form = layui.form, table = layui.table, element = layui.element;
		serachRender();//查询条件初始渲染集合
		changeDropdown('fSl');//导入窗口——税率下拉可编辑赋事件
		$.tablelist.init({
			elem: '#dhtable'
			, modalName: "产品信息"
			, url: tableUrl
			, updateUrl: prefix + "/edit?guid={id}"
			, initSort: {field: 'bid', type: 'DESC'}
			, totalRow: gridColumns.totalRow
			, cols: [gridColumns.gridBody]
			, toolbar: '#toolbar'
			, defaultToolbar: [{title: '列设置', layEvent: 'fieldSet', icon: 'layui-icon-set'}] //这里在右边显示
			, parseData: function (res) { //res 即为原始返回的数据
				var objpage = sessionStorage.getItem(moduleTable + 'checkdata')
				if (objpage) {
					objpage = JSON.parse(objpage)
					res.data.map((v, i) => {
						objpage.map((n, m) => {
							if (v.guid == n.guid) {
								v.LAY_CHECKED = true
							}
						})
					})
				}
			}
			, done: function (res, curr, count) {
				var ltv = this.elem.next('.layui-table-view');//当前table的dom
				res.data.length || count || ltv.find('.layui-table-header').css('display', 'inline-block');//数量为0时(统计报表存在不传count的情况)，表头赋予样式可拉动
				res.data.length || count || ltv.find('.layui-table-box').css('overflow-x', 'auto');//数量为0时(统计报表存在不传count的情况)，表头赋予样式可拉动
				if ($('.spxx').is(':hidden')) {
					$('.layui-table-body').eq(0).css('height', "75vh");
				} else {
					$('.layui-table-body').eq(0).css('height', "40vh");
				}
				$('.ishide').show()
				$('.isshow').hide()
				fixTotal(this);//修复合计行固定列问题
				rowheight(res, curr);//修复合计行固定列问题
				if (typeof listTableDone == 'function') listTableDone();//如果查询列表存在表格加载完成回调事件，则执行
			}
		});
		//监听排序事件
		table.on('sort(ftable)', function(obj){
			$.tablelist.sort('dhtable',obj);
		});

		//监听行双击事件
		table.on('rowDouble(ftable)', function (obj) {
			top.layui.index.openTabsPage(prefix+ "/edit?codeBox="+obj.data.codebox, '海外尾程单(' + obj.data.bid + ')');
		});

		// 多选赋值
		sessionStorage.setItem(moduleTable+'checkdata','')
		table.on('checkbox(ftable)', function(obj){
			var objpage=sessionStorage.getItem(moduleTable+'checkdata')
			if(obj.type=='all'){//判断是否全选
				var objdata=table.checkStatus('dhtable')
				objdata=objdata.data
				if(obj.checked){//判断是否选中
					if(objpage){
						objpage=JSON.parse(objpage)
						objpage=objpage.concat(objdata)
						objpage=newData(objpage)
					}else{
						objpage=objdata
					}
				}else{
					var objpage=JSON.parse(objpage)
					var deldata=table.cache.dhtable
					objpage=delData(objpage,deldata)
				}
				sessionStorage.setItem(moduleTable+'checkdata',JSON.stringify(objpage))
			}else{//点击复选框
				if(objpage){
					objpage=JSON.parse(objpage)
					if(obj.checked){
						objpage.push(obj.data)
					}else{
						objpage.map((v,i)=>{
							if(v.guid==obj.data.guid){
								objpage.splice(i,1)
							}
						})
					}
				}else{
					objpage=[]
					objpage.push(obj.data)
				}
				sessionStorage.setItem(moduleTable+'checkdata',JSON.stringify(objpage))
			}
		});

		//头工具栏事件
		table.on('toolbar(ftable)', function(obj){
			switch(obj.event){
				case "exportbtn"://导出
					var url = "";
					if (num == 0){
						url = prefix+"/export?stateName="+stateName
					}else {
						url = prefix+"/export?stateNameNot=1"
					}
					$.ajax({
						url: url,
						type: 'GET',
						data: getWherestr(),
						dataType: 'json',
						beforeSend: function () {
							showloadings(true);
						},
						success: function (result) {
							if (result.code == 0) {
								window.location.href = ctx + "common/download?fileName=" + encodeURIComponent(result.msg) + "&delete=" + true;
								parent.$('.page-loading').hide();//页面进行了跳转刷新，需要手动关闭页面的加载动画
							} else if (result.code == web_status.WARNING) {
								$.modal.alertWarning(result.msg)
							} else {
								$.modal.alertError(result.msg);
							}
							showloadings(false);
						}
					});
					break;
				case 'fieldSet':
					filedSet(moduleTable);
					break;
				case 'shbtn'://审核
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else {
						var infoItems=JSON.parse(objpage);
						if(infoItems.length > 1) {
							layer.msg("选择单据只允许选择一条数据,请核实后在操作!！");
							return;
						}
						$.modal.confirmCom('确定要审核么？', function (result) {
							if (infoItems.some(item => item.tailprogram == null)) {
								layer.msg("选择单据中未选择尾程方式,请核实后在操作!");
								return;
							}
							if (infoItems.some(item => item.channelcode == null)) {
								layer.msg("选择单据中未选择渠道代码,请核实后在操作!");
								return;
							}
							$.operate.post(ali1688EcpApiUrl+'/api/fbaInbound/updateStateName',{infoItems:JSON.stringify(infoItems),num:0,userId:userId},function(result){
								setTimeout(function(){
									sessionStorage.setItem(moduleTable+'checkdata','')
									table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
								}, 1000);
								layer.closeAll();
							});
						})
					}
					break;
				case 'htbtn'://回退
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else {
						var infoItems=JSON.parse(objpage);
						if(infoItems.length > 1) {
							layer.msg("选择单据只允许选择一条数据,请核实后在操作!！");
							return;
						}
						$.modal.confirmCom('确定要回退么？', function (result) {
							if (infoItems.some(item => item.stateName != '已审核')) {
								layer.msg("选择单据中状态只允许是已审核,请核实后在操作!");
								return;
							}
							if (infoItems.some(item => item.trackingcode != null && item.trackingcode != '')) {
								layer.msg("选择单据中状态追踪编号已导入,不允许回退!");
								return;
							}
							$.operate.post(ali1688EcpApiUrl+'/api/fbaInbound/updateStateName',{infoItems:JSON.stringify(infoItems),num:1,userId:userId},function(result){
								setTimeout(function(){
									sessionStorage.setItem(moduleTable+'checkdata','')
									table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
								}, 1000);
								layer.closeAll();
							});
						})
					}
					break;
				case 'printGoods'://商品标打印
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请选择一条数据！");
						break;
					}
					var infoItems=JSON.parse(objpage);
					if(infoItems.length > 1) {
						layer.msg("只能选择一条数据！");
						break;
					}

					var w=($(window).width()*0.8);
					var h=($(window).height() - 100);
					var index = layer.open({
						type: 2,
						area: [w+'px', h +'px'],
						fix: true,
						maxmin: false,
						shadeClose: true,
						shade:0.4,
						title: "打印商品标",
						content: '/storage/hwTailprogram/toPrintGoods?code=' + infoItems[0].bid
					});
					break;
				case 'print'://打印箱标
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else{
						$.modal.confirmCom('确定要打印箱标么？',function(result){
							var infoItems=JSON.parse(objpage);
							urlSh = ali1688EcpApiUrl+'/api/fbaInbound/getLabelsWc';
							showloadings(true);

							$.operate.post(urlSh,{infoItems:JSON.stringify(infoItems)},function(result){

								if (result.code == 0){
									var urlBegin = window.location.href.split("//")[0];
									for (let i = 0; i < result.data.length; i++) {
										$.operate.post('/logstics/fbabox/generateOuterXiangBiaoPDF',{bid: infoItems[i].codebox},function(result2){
											if (result2.code == 0){
												var urlPdfOuter = urlBegin + "//" + window.location.host + result2.data;

												var urlPdf = ali1688EcpApiUrl+result.data[i].data; // 拼接PDF的完整路径
												var json = {};
												json.action = "previewfile";	//打印指令动作。json.action = "preview"，则生成预览。
												json.format = "pdf_url";        //指定格式为pdf_url。
												json.docwidth = 20; // 单位：cm
												json.doclength = 30; // 单位：cm

												json.paperwidth = 10;
												json.paperlength = 10;
												json.content = [urlPdfOuter,urlPdf,urlPdf,urlPdf,urlPdf];   //pdf文件的url路径
												json.cert = window.location.href.split("//")[0] + "//" + window.location.host + "/js/printWorld/pdf_mini-ease.com.ctf";
												var pw = GetPrintWorld();    //获取打天下对象
												pw.Act(json);
											}
										});
									}
									setTimeout(function(){
										sessionStorage.setItem(moduleTable+'checkdata','')
										showloadings(false);
										table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
									}, 1000);
								} else {
									showloadings(false);
								}
							});
						});
					}
					break;
				case 'cancelTc':
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else {
						var infoItems = JSON.parse(objpage);
						if(infoItems.length > 1) {
							layer.msg("只能选择一条数据！");
							break;
						}
						layer.confirm('确定要上传追踪编码吗?', {
							icon: 3,
							offset: '10%',
							title: "系统提示",
							btn: ['确认', '取消'],
							shadeClose: true,
							yes: function (index) {
								$.operate.post(ali1688EcpApiUrl + '/api/fbaInbound/uploadtraceNumber', {
									"shipmentId": infoItems[0].shipmentid,
									type: 1
								}, function (result) {
									if (result.code == 0) {
										setTimeout(function () {
											layer.closeAll();
											sessionStorage.setItem(moduleTable + 'checkdata', '')
											showloadings(false);
											table.reload('dhtable', {page: {curr: 1}, where: getWherestr()});
										}, 1000);
									} else {
										showloadings(false);
									}
								});
							}
						})
					}
					break;
				case 'delbtn'://删除
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else {
						$.modal.confirmCom('确定要删除么？', function (result) {
							var infoItems=JSON.parse(objpage);
							$.operate.post(prefix+'/delete',{infoItems:JSON.stringify(infoItems)},function(result){
								setTimeout(function(){
									sessionStorage.setItem(moduleTable+'checkdata','')
									table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
								}, 1000);
								layer.closeAll();
							});
						})
					}
					break;
                case 'tailbtn'://尾程方式
                    var objpage=sessionStorage.getItem(moduleTable+'checkdata')
                    if(!objpage || objpage == '[]'){
                        layer.msg("请先选择数据！");
                    }else{
                        layer.open({
                            type: 1
                            , title: "请选择尾程方式"
                            , shade: 0.3
                            // , area: ['350px', '200px']
                            , offset: '20%'
                            , content: $("#inExchange").html()
                            , btn: ['确定', '取消']
                            , yes: function (index) {
                                if ($("#tailProgram").val()) {
                                    var infoItems=JSON.parse(objpage)
                                    $.operate.post(prefix+'/updateTailProgram',{infoItems:JSON.stringify(infoItems),id:ysId},function(result){
                                        setTimeout(function(){
                                            sessionStorage.setItem(moduleTable+'checkdata','')
                                            table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
                                        }, 1000);
                                        layer.closeAll();
                                    });
                                } else {
                                    $.modal.msgWarning('尾程方式不可为空！');
                                }
                            }
                            , btn2: function () {
                                layer.closeAll();
                            }
                        });
                    }
                    break;
				case 'channelbtn'://渠道代码
					var objpage=sessionStorage.getItem(moduleTable+'checkdata');
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else{
						var infoItems=JSON.parse(objpage)
						let us = infoItems.some(item => item.countrycode == 'US');
						let gb = infoItems.some(item => item.countrycode == 'GB');
						if (us && gb){
							layer.msg("选择单据国家编码只允许单一选择,请核实后在操作!");
							return;
						}
						tindex = infoItems[0].guid
						layer.open({
							type: 1
							, title: "请选择渠道代码"
							, shade: 0.3
							// , area: ['350px', '200px']
							, offset: '20%'
							, content: $("#inChannel").html()
							, btn: ['确定', '取消']
							, yes: function (index) {
								if ($("#channelcode").val()) {
									$.operate.post(prefix+'/updateChannel',{infoItems:JSON.stringify(infoItems),channelId:channelId},function(result){
										setTimeout(function(){
											sessionStorage.setItem(moduleTable+'checkdata','')
											table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
										}, 1000);
										layer.closeAll();
									});
								} else {
									$.modal.msgWarning('渠道代码不可为空！');
								}
							}
							, btn2: function () {
								layer.closeAll();
							}
						});
					}
					break;
				case 'drbtn'://导入附加费
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else{
						layer.open({
							type: 1
							, title: "请填写附加费"
							, shade: 0.3
							, offset: '20%'
							, content: $("#isdrAddition").html()
							, btn: ['确定', '取消']
							, yes: function (index) {
								if ($('.drAddition').val()) {
									var infoItems=JSON.parse(objpage)
									$.operate.post(prefix+'/updateAddition',{infoItems:JSON.stringify(infoItems),drAddition:$("#drAddition").val().trim()},function(result){
										setTimeout(function(){
											sessionStorage.setItem(moduleTable+'checkdata','')
											table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
										}, 1000);
										layer.closeAll();
									});
								} else {
									$.modal.msgWarning('附加费不可为空！');
								}
							}
							, btn2: function () {
								layer.closeAll();
							}
						});
					}
					break;
				case 'ckbtn'://导入海外尾程出库单
					var objpage=sessionStorage.getItem(moduleTable+'checkdata')
					if(!objpage || objpage == '[]'){
						layer.msg("请先选择数据！");
					}else{
						var infoItems=JSON.parse(objpage)
						if (infoItems.some(item => item.stateName != '已审核')) {
							layer.msg("选择单据中状态只允许是已审核,请核实后在操作!");
							return;
						}
						layer.open({
							type: 1
							, title: "请填写尾程出库单"
							, shade: 0.3
							, offset: '20%'
							, content: $("#isStockOutCode").html()
							, btn: ['确定', '取消']
							, yes: function (index) {
								if ($('.stockOutCode').val()) {
									$.operate.post(prefix+'/updateStockOutCode',{infoItems:JSON.stringify(infoItems),stockOutCode:$(".stockOutCode").val().trim()},function(result){
										setTimeout(function(){
											sessionStorage.setItem(moduleTable+'checkdata','')
											table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
										}, 1000);
										layer.closeAll();
									});
								} else {
									$.modal.msgWarning('海外尾程出库单不可为空！');
								}
							}
							, btn2: function () {
								layer.closeAll();
							}
						});
					}
					break;
			}
		})

		//单击选中行
		var comguid,comobj
		table.on('row(ftable)', function(obj){
			comguid=obj.data.guid
			comobj=obj
			pddata1(obj)
		});

		//刷新详情列表表格
		function pddata1(obj){
			$('.demo2 .layui-tab-title li').removeClass('layui-this')
			$('.layui-tab-title li').attr('style','background:#fff;color:#666666');
			$('.demo2 .layui-tab-title li').eq(0).addClass('layui-this')
			$.get(prefix+'/sonlist',{code:obj.data.bid,guid:obj.data.guid},function(res){
				var datalist=res.data.sonList;
				var cols=[res.data.gridColumns.gridBody];
				var totalRow=res.data.gridColumns.totalRow;
				if (res.data.hwTailprogram.creationMethod == '手动'){
					cols = tablecolsFh;
				} else {
					cols = tablecolsZD();
					//根据coleSize编辑出多少个箱子
					for (let i = 0; i < obj.data.numbox; i++) {
						let  tableData = {
							"align": "center",
							"field": "numRealityDeliver"+(i+1),
							"title": "箱子"+(i+1),
							"width": 95,
						}
						cols[0].push(tableData);
					}

					//将箱子数据赋值
					if (obj.data.numBox != 0){
						for (let i = 0; i < datalist.length; i++) {
							let ss = datalist[i].boxList.slice(1,datalist[i].boxList.length-1)
							let aa =  ss.split(",");
							for (let j = 0; j < aa.length; j++) {
								let numRe = 'numRealityDeliver'+(j+1)
								datalist[i][numRe] = aa[j]==0?"":aa[j]
							}
						}
					}
				}
				$.tablelist.init({
					elem: '#pdhtable'
					,data:datalist
					,limit: 99999
					,where: getWherestr()
					,totalRow:totalRow
					,cols: cols
					,defaultToolbar: [{title:'列设置',layEvent: 'fieldSet',icon: 'layui-icon-set'}]
					,page:false
					// ,height:moduleTable==''?'full-46':''
					,parseData: function(res){ //res 即为原始返回的数据
						return {
							"code": res.code, //解析接口状态
							"msg": res.msg, //解析提示文本
							"count": res.count, //解析数据长度
							"data": decimalToFixed(res.data,gridColumns.decimalObj) //表格数据数值类型重赋值
						}
					}
					,done:function(res, curr, count){
						var ltv=this.elem.next('.layui-table-view');//当前table的dom
						res.data.length || count || ltv.find('.layui-table-header').css('display', 'inline-block');//数量为0时(统计报表存在不传count的情况)，表头赋予样式可拉动
						res.data.length || count || ltv.find('.layui-table-box').css('overflow-x', 'auto');//数量为0时(统计报表存在不传count的情况)，表头赋予样式可拉动
						res.data.length || count || ltv.find('.layui-table-body').css('height', ltv.find('.layui-table-body').height()-17);//数量为0时，表格高度减少滚动条高度
						$('.spxx').show()
						$('.layui-table-body.layui-table-main').eq(0).css('height', "35vh");
						$('.layui-table-body.layui-table-main').eq(1).css('height', "30vh");
						$('.layui-table-body').eq(1).css('height', "calc(35vh - 15px)");
						fixTotal(this);//修复合计行固定列问题
						if(typeof listTableDone == 'function')listTableDone();//如果查询列表存在表格加载完成回调事件，则执行
					}
					,jump:function(obj, first){
					}
				})
			})
		}

		// 头部组装切换
		element.on('tab(demo1)', function(elem){
			sonList(elem.index);
		});

		function sonList(index){
			num = index;
			var url = "";
			switch(index){
				case 0:
					stateName = '制单环节'
					url = prefix+"/list?stateName="+ stateName
					break;
				case 1:
					stateName = '已审核'
					url = prefix+"/list?stateNameNot=1"
					break;
			};
			moduleTable = "HW_TailProgram";
			sessionStorage.clear();
			// 初始化表格
			$.tablelist.init({
				elem: '#dhtable'
				,url: url
				, totalRow: gridColumns.totalRow
				, cols: [gridColumns.gridBody]
				, toolbar: '#toolbar'
				, defaultToolbar: [{title: '列设置', layEvent: 'fieldSet', icon: 'layui-icon-set'}]
				, height: '450'
				, done: function (res, curr, count) {
					listData1 = table.cache.dhtable;//每次重载都赋值更新表缓存
					$('.spxx').hide()
					$('.layui-table-body').eq(0).css('height', "75vh");
					if(num == 0){
						$('.ishide').show()
						$('.isshow').hide()
						$('.detailsName').text("海外尾程单");
					}else if(num == 1){
						$('.ishide').hide()
						$('.isshow').show()
						$('.detailsName').text("海外尾程单");
					}
				},success:function(a,b,c){
					console.log(a,b,c)
				}
			});
		}
	})

	function getMoreAfter(fieldsList, fields, tindex, fieldName, fieldSearchType, isSearch, isLayer, res) {//弹出框回调事件
		//尾程方式
		if (fields = 'tailProgram ') {
			$("#tailProgram").val(res.dictname);
			ysId = res.id
		}
		//渠道代码
		if (fields = 'channelcode ') {
			$("#channelcode").val(res.code);
			channelId = res.guid
		}
	}

	function  importBtn(data){
		if (importFields) {
			thStr = '<tr><th><div style="width:30px;">序号</div></th>';
			$.each(importFields, function (i, val) {
				fieldWidth[val] = fieldWidth[val] ? fieldWidth[val] : 100;	//默认宽度100px
				thStr += '<th><div style="width:' + fieldWidth[val] + 'px;">' + i + '</div></th>';
			})
			thStr += '</tr>';
			layer.open({
				type: 1,
				area: ['400px', '230px'],
				fix: false,
				offset: '10%',
				maxmin: true,
				shade: 0.3,
				title: '导入',
				content: `
						<form enctype="multipart/form-data" class="mt20 mb10">
							<div class="col-xs-offset-1">
							<input type="file" id="file" name="file"/>
							<div class="mt10 pt5">
							<a onclick="$.tablelist.importTemplate('/storage/hwTailprogram/exporttemplate?')" class="btn btn-default btn-xs"><i class="dhicon dh-file-excel-o"></i> 下载模板</a>
							</div>
							<font color="red" class="pull-left mt10">提示：仅允许导入“xls”或“xlsx”格式文件！</font>
							</div>
						</form>
												`,
				btn: ['<i class="dhicon dh-check"></i> 导入', '<i class="dhicon dh-remove"></i> 取消'],
				shadeClose: true,
				zIndex: 1000,
				btn1: function (index, layero) {
					var file = layero.find('#file');
					if (!file[0]['value']) {
						layer.msg("请选择文件！");
						return false;
					}
					var imRes = importListExcel(file[0], importFields,'fbaBox');
				}
			});
		} else {
			$.modal.alertWarning("后台未返回导入模板对象！");
		}
	}

	/*批量请求导入数据
     *tobj：导入数据对象
     *startNum：从第几条开始导入
     *oneImportNum：每次导入条数
     *allImportNum：总数据量
     *times：导入次数
     */
	function eachImport(tobj,startNum, oneImportNum, allImportNum, times, timeNum){
		var importObj = [];
		for(var i = startNum; i < allImportNum; i++){
			importObj.push(tobj[i]);
		}
		if (importObj.length ==0){
			layer.msg("导入数据为空,请核实后在操作!");
			showloadings(false);
			return;
		}
		$.ajaxSettings.async = false;

		$.operate.post(prefix + '/importdatapost', {'infoItems':JSON.stringify(importObj)}, function(result) {
			showloadings(false);
			if(result.code == 0){
				layer.msg(result.msg)
				setTimeout(function(){
					sessionStorage.setItem(moduleTable+'checkdata','')
					layer.closeAll();
					table.reload('dhtable', {page: {curr: 1},where:getWherestr()});
				}, 1000);
			}
		},"json");
	}

</script>
</body>
</html>